查看原文
其他

Biostar:课程25、26

2017-09-09 István Albert 生信媛

翻译:生物女博士

注:本系列课程翻译已获得原作者授权。


# 为作者的注释

#* 为译者的注释


Lecture 25 - Bedtools简介


# 安装bedtools

#* 后台有人发消息来问,你怎么知道你要找的这个软件的链接在哪里?

#* 其实,很多官网上,都是有的。跟你下个office、PS等这些软件是一样的道理。

#* 比如今天要学习的bedtools

#* 首先,百度或者google关键词:bedtools

#* 搜索得到的词条,前两个都是官网的(有时候不一定排在很前面)。

#* 进入官网以后,就找到了。可以看到是在github上存放的。


#* 先大致看一下网页,对于github,可以点击“clone or download”点击下载或者获得下载的链接。



#* 具体下载方式见下图:


#* 在本软件的下载中,在页面下方,还有另外一个安装包下载链接:


#* 留给有兴趣的读者自行探索。

#* 其他也是相类似的搜索。如果是R包,则可以到CRAN(https://cran.r-project.org/)上的Packages(https://cran.r-project.org/web/packages/index.html)或者是bioconductor(http://www.bioconductor.org/)网站去找。

#* 好了,进入今天的正题。


# 安装bedtools


cd ~/src curl -OL https://github.com/arq5x/bedtools2/releases/download/v2.22.0/bedtools-2.22.0.tar.gz tar zxvf bedtools-2.22.0.tar.gzcd bedtools2 make ln -sf ~/src/bedtools2/bin/bedtools ~/bin/bedtools

# 演示版的bed文件 (demo.bed)

KM034562    100    200    one    0    + KM034562    400    500    two    0    -


# 我们的基因组文件(genome.txt)

KM034562    18959


# 没有链特异性的运算


bedtools slop -i demo.bed -g genome.txt -l 10 -r 0

# 有链特异性的运算

bedtools slop -i demo.bed -g genome.txt -l 10 -r 0 -s

# 把BED转成对应的GFF

# 这并非是真的正确地把BED转成GFF。

cat demo.bed | bioawk -c bed '{print $chrom, ".", ".", $start+1, $end, $score, $strand, ".", "." }' > demo.gff

# 看!它与其他格式可以很好地协同工作!那怎么可能呢?好神奇!

bedtools slop -i demo.gff -g genome.txt -l 10 -r 0 -s

# 两侧的运算。把结果重定向到一个文件中。

bedtools flank -i demo.gff -g genome.txt -l 10 -r 0 -s > flank.gff

# 填充运算。

bedtools complement -i demo.gff -g genome.txt > complement.gff

# 获取埃博拉基因组。

#* KM034562.gb文件在之前的课程其实已经有给过大家了。

#* 或者也可在这里下载,链接:https://share.weiyun.com/e880cca38636c8d90780fb487050bf3d (密码:HhCUk9)

efetch -id KM034562 -format gb -db nucleotide > KM034562.gb readseq -format=FASTA -o ~/refs/852/KM034562.fa KM034562.gb readseq -format=GFF -o KM034562.gff KM034562.gb

# 看一下提示,这个工具可以用于哪些格式。

bioawk -c help

# 从整个文件中提取基因。

cat KM034562.gff | bioawk -c gff ' $feature=="gene" { print $0 } ' > genes.gff

# 序列提取。 获取与间隔相对应的序列。

bedtools flank -i genes.gff -g genome.txt -l 10 -r 0 -s > flank.gff

#* 在这一步,使用最新版本的bedtools会有奇怪的报错。而用作者提供的这个旧版本则不会。


# 提取与genes.gff的间隔相对应的序列。

bedtools getfasta -fi ~/refs/852/KM034562.fa -bed genes.gff -fo genes.fa

# 来看一下结果文件。

head genes.fa


Lecture 26 - Bedtools指南


# 来到ecture 23,我们进行了埃博拉的短reads比对

cd ~/edu/lec23

# 创建一个间隔文件,叫region.bed

# KM034562 1000 2000

# 我们可以用这个间隔文件去分割数据。

bedtools intersect -a bam/SRR1553593.bam -b region.bed > region.bam samtools index region.bam

# 我们也可以把数据作为bed文件输出。

bedtools intersect -a bam/SRR1553593.bam -b region.bed -bed > region.bed

# 又或者,我们可以把bam文件转成bed文件。

bedtools bamtobed -i bam/SRR1553595.bam > SRR1553595.bed

# 我们将跟着bedtools的指南来做 

http://quinlanlab.org/tutorials/cshl2014/bedtools.html mkdir ~/edu/lec26 cd ~/edu/lec26

# 获取所有的数据,并解包。

curl -O http://quinlanlab.cs.virginia.edu/cshl2013/maurano.dnaseI.tgz curl -O http://quinlanlab.cs.virginia.edu/cshl2013/cpg.bed curl -O http://quinlanlab.cs.virginia.edu/cshl2013/exons.bed curl -O http://quinlanlab.cs.virginia.edu/cshl2013/gwas.bed curl -O http://quinlanlab.cs.virginia.edu/cshl2013/genome.txt curl -O http://quinlanlab.cs.virginia.edu/cshl2013/hesc.chromHmm.bed

# 这个数据集含有更多的数据。

# 胎儿的组织样品,包括脑、心脏、肠道、肾脏、肺、肌肉、皮肤以及胃

tar -zxvf maurano.dnaseI.tgz

# 我们将在课堂上跟着指南做一点实际操作

# 并给作业留一些建议

# 从注释文件中,选取启动子。

cat hesc.chromHmm.bed | grep  Promoter > promoters.bed

# 找到跟每个exon最近的启动子。

# -d 表示打印列

#* 多的一列数值是-a 和 -b 两者最近的距离。(见下图)

bedtools closest -a exons.bed -b promoters.bed  -d | head -1


# 找到覆盖了最多外显子的CPG岛

bedtools intersect -a cpg.bed -b exons.bed -c | sort -k5,5nr | head -1

# 以5Kb一个窗口把人类基因组以覆盖。

bedtools makewindows -g genome.txt -w 50000 > windows.bed




Biostar非常适合有生物学基础且想自学生信的这部分人入门。译者正是通过该课程入门的生信。

Biostar课程文章系列:

【课程预告】手把手教你入门生信——The Biostar Handbook

Biostar:课程1、2

Biostar:课程3、4

Biostar:课程5、6

Biostar:课程7、8

Biostar:课程9、10

Biostar:课程11、12

Biostar:课程13、14

Biostar:课程15、16

Biostar:课程17、18

Biostar:课程19、20

Biostar:课程21、22

Biostar:课程23、24


也可点击 阅读原文 或在公众号的 菜单→课程系列 中找到本系列课程。



欢迎关注我们





您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存